{"componentChunkName":"component---src-templates-blog-page-index-tsx","path":"/ether-wei-gas/","result":{"data":{"mdx":{"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"layout\": \"BlogPage\",\n  \"title\": \"Ether, Wei e Taxa de Gas\",\n  \"description\": \"Nesse artigo iremos falar um pouco sobre as taxas de gas da blockchain e como economizar na hora de escrever seu contrato inteligente. Na rede da Ethereum, as transações são pagas com Ether, assim como na rede da Binance Smart Chain, as transações são pagas com BNB, na rede da Polygon as transações são pagas com MATIC e assim por diante.\",\n  \"image\": \"capa.jpg\",\n  \"tags\": [\"Iniciante\"],\n  \"author\": [\"Matheus\"],\n  \"publishedAt\": \"06/05/2022\",\n  \"modifiedAt\": \"20220506\",\n  \"suburl\": \"ether-wei-gas/\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"Nesse artigo iremos falar um pouco sobre as taxas de gas da blockchain e como economizar na hora de escrever seu contrato inteligente.\"), mdx(\"h2\", {\n    \"id\": \"ether-e-wei\"\n  }, \"Ether e Wei\"), mdx(\"p\", null, \"Na rede da Ethereum, as transa\\xE7\\xF5es s\\xE3o pagas com Ether, assim como na rede da Binance Smart Chain, as transa\\xE7\\xF5es s\\xE3o pagas com BNB, na rede da Polygon as transa\\xE7\\xF5es s\\xE3o pagas com MATIC e assim por diante.\"), mdx(\"p\", null, \"Assim como em nossa moeda convencional, um d\\xF3lar \\xE9 o mesmo que 100 centavos de d\\xF3lar, na blockchain, um ether \\xE9 igual a \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"10^18 wei\"), \".\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.13;\\n\\ncontract EtherUnits {\\n    uint public umWei = 1 wei;\\n    // 1 wei \\xE9 igual a 1\\n    bool public ehUmWei = 1 wei == 1;\\n\\n    uint public umEther = 1 ether;\\n    // 1 ether \\xE9 igual a 10^18 wei\\n    bool public ehUmEther = 1 ether == 1e18;\\n}\\n\")), mdx(\"br\", null), mdx(\"h2\", {\n    \"id\": \"taxas-de-gas\"\n  }, \"Taxas de Gas\"), mdx(\"h3\", {\n    \"id\": \"quanto-ether-você-precisa-para-pagar-por-uma-transação\"\n  }, \"Quanto ether voc\\xEA precisa para pagar por uma transa\\xE7\\xE3o?\"), mdx(\"p\", null, \"Voc\\xEA paga o \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"gas spent * gas price\"), \" valor do ether, onde\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"gas\"), \" \\xE9 a unidade de c\\xE1lculo\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"gas spent\"), \" \\xE9 o valor total de gas usado em uma transa\\xE7\\xE3o\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"gas price\"), \" \\xE9 quanto ether voc\\xEA est\\xE1 disposto a pagar por gas\")), mdx(\"p\", null, \"As transa\\xE7\\xF5es com pre\\xE7o de gas mais altos acabam tendo maior prioridade para serem adicionadas em um bloco.\\nO gas que n\\xE3o foi utilizado \\xE9 reembolsado para sua carteira.\"), mdx(\"h3\", {\n    \"id\": \"limite-de-gas\"\n  }, \"Limite de gas\"), mdx(\"p\", null, \"Existem 2 limites superiores para a quantidade de gas que voc\\xEA pode gastar\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"gas limit\"), \" quantidade m\\xE1xima de gas que voc\\xEA deseja pagar por uma transa\\xE7\\xE3o, \\xE9 definida por voc\\xEA\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"block gas limit\"), \" quantidade m\\xE1xima de gas permitida em um bloco, definido pela rede\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.13;\\n\\ncontract Gas {\\n    uint public i = 0;\\n\\n    // Usar todo o gas que voc\\xEA envia faz com que sua transa\\xE7\\xE3o falhe\\n    // As altera\\xE7\\xF5es de estado s\\xE3o desfeitas\\n    // O gas que foi utilizado n\\xE3o ser\\xE1 reembolsado\\n    function forever() public {\\n        // Aqui um exemplo de um loop onde ir\\xE1 executar at\\xE9 que todo o gas seja gasto\\n        // e consequentemente sua transa\\xE7\\xE3o ir\\xE1 falhar\\n        while (true) {\\n            i += 1;\\n        }\\n    }\\n}\\n\")), mdx(\"p\", null, \"Voc\\xEA pode conferir como est\\xE3o as taxas de gas de cada rede de blockchain abaixo\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Ethereum \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://etherscan.io/gastracker\",\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"aqui\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Binance Smart Chain (BSC) \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://bscscan.com/gastracker\",\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"aqui\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Polygon \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://polygonscan.com/gastracker\",\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"aqui\"))), mdx(\"h3\", {\n    \"id\": \"limite-de-gas-1\"\n  }, \"Limite de gas\"), mdx(\"p\", null, \"Existem 2 limites superiores para a quantidade de gas que voc\\xEA pode gastar\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"gas limit\"), \" quantidade m\\xE1xima de gas que voc\\xEA deseja pagar por uma transa\\xE7\\xE3o, \\xE9 definida por voc\\xEA\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"block gas limit\"), \" quantidade m\\xE1xima de gas permitida em um bloco, definido pela rede\")), mdx(\"br\", null), mdx(\"h2\", {\n    \"id\": \"técnicas-de-economia-de-gas\"\n  }, \"T\\xE9cnicas de economia de Gas\"), mdx(\"p\", null, \"Algumas t\\xE9cnicas de economia de gas.\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Substituindo \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"memory\"), \" por \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"calldata\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Carregando vari\\xE1veis de estado na mem\\xF3ria\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Substitua \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"i++\"), \" por \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"++i\"), \" em fun\\xE7\\xF5es com loops\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Armazenando elementos em uma matriz utilizando cache\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Circuito curto das fun\\xE7\\xF5es\")), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"// SPDX-License-Identifier: MIT\\npragma solidity ^0.8.13;\\n\\n// gas golf\\ncontract GasGolf {\\n    // taxa gas inicial - 50908 gas\\n    // usando calldata - 49163 gas\\n    // carregando vari\\xE1veis na mem\\xF3ria - 48952 gas\\n    // Circuito curto - 48634 gas\\n    // incrementador do loop - 48244 gas\\n    // matriz em cache - 48209 gas\\n    // carregar elementos da matriz na mem\\xF3ria - 48047 gas\\n    // desmarque estou transbordando/subfluindo - 47309 gas\\n\\n    uint public total;\\n\\n    // come\\xE7o - sem otimiza\\xE7\\xE3o na taxa de gas\\n    // function sumIfEvenAndLessThan99(uint[] memory nums) external {\\n    //     for (uint i = 0; i < nums.length; i += 1) {\\n    //         bool isEven = nums[i] % 2 == 0;\\n    //         bool isLessThan99 = nums[i] < 99;\\n    //         if (isEven && isLessThan99) {\\n    //             total += nums[i];\\n    //         }\\n    //     }\\n    // }\\n\\n    // otimiza\\xE7\\xE3o de taxa de gas\\n    // [1, 2, 3, 4, 5, 100]\\n    function sumIfEvenAndLessThan99(uint[] calldata nums) external {\\n        uint _total = total;\\n        uint len = nums.length;\\n\\n        for (uint i = 0; i < len; ) {\\n            uint num = nums[i];\\n            if (num % 2 == 0 && num < 99) {\\n                _total += num;\\n            }\\n            unchecked {\\n                ++i;\\n            }\\n        }\\n\\n        total = _total;\\n    }\\n}\\n\")), mdx(\"br\", null), mdx(\"h3\", {\n    \"id\": \"testar-no-remix\"\n  }, \"Testar no \", mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"https://remix.ethereum.org/\",\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"Remix\")), mdx(\"br\", null), mdx(\"br\", null));\n}\n;\nMDXContent.isMDXComponent = true;","frontmatter":{"title":"Ether, Wei e Taxa de Gas","description":"Nesse artigo iremos falar um pouco sobre as taxas de gas da blockchain e como economizar na hora de escrever seu contrato inteligente. Na rede da Ethereum, as transações são pagas com Ether, assim como na rede da Binance Smart Chain, as transações são pagas com BNB, na rede da Polygon as transações são pagas com MATIC e assim por diante.","image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAbKN2FGD/8QAGRAAAgMBAAAAAAAAAAAAAAAAAhIBBBEQ/9oACAEBAAEFAhnLBuIjqrDc/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAGxAAAgIDAQAAAAAAAAAAAAAAAREAAgMxURD/2gAIAQEABj8CIOQm1mhyEh2PIHuNB9m/P//EABoQAAIDAQEAAAAAAAAAAAAAAAERACExQRD/2gAIAQEAAT8hYyCOBKVjinCIgpLEyQdpcR8f/9oADAMBAAIAAwAAABDAz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EACAQAQEAAQIHAQAAAAAAAAAAAAERACGREDFBUWGBodH/2gAIAQEAAT8QGyYGmNBOj+eccI2k1uxiDBSUfWma5zIBo7XPuvI24f/Z","aspectRatio":1.5151515151515151,"src":"/static/70e5a31a625fdd9f843734a36ece7ed2/0cb3d/capa.jpg","srcSet":"/static/70e5a31a625fdd9f843734a36ece7ed2/f836f/capa.jpg 200w,\n/static/70e5a31a625fdd9f843734a36ece7ed2/2244e/capa.jpg 400w,\n/static/70e5a31a625fdd9f843734a36ece7ed2/0cb3d/capa.jpg 536w","sizes":"(max-width: 536px) 100vw, 536px"}}},"tags":["Iniciante"],"author":["Matheus"],"suburl":"ether-wei-gas/","publishedAt":"06/05/2022","modifiedAt":"20220506"},"tableOfContents":{"items":[{"url":"#ether-e-wei","title":"Ether e Wei"},{"url":"#taxas-de-gas","title":"Taxas de Gas","items":[{"url":"#quanto-ether-você-precisa-para-pagar-por-uma-transação","title":"Quanto ether você precisa para pagar por uma transação?"},{"url":"#limite-de-gas","title":"Limite de gas"},{"url":"#limite-de-gas-1","title":"Limite de gas"}]},{"url":"#técnicas-de-economia-de-gas","title":"Técnicas de economia de Gas","items":[{"url":"#testar-no-remix","title":"Testar no Remix"}]}]},"timeToRead":1},"allMdx":{"nodes":[{"frontmatter":{"suburl":"sistema-de-swap-estavel-amm/","title":"Como criar um sistema de Swap estável AMM","tags":["Avançado","DeFi"]}},{"frontmatter":{"suburl":"produto-constante-amm/","title":"Como criar um produto constante AMM","tags":["Intermediário","DeFi"]}},{"frontmatter":{"suburl":"soma-constante-amm/","title":"Como criar uma soma constante AMM","tags":["Intermediário","DeFi"]}},{"frontmatter":{"suburl":"sistema-de-cofre/","title":"Como criar um sistema de Cofre","tags":["Intermediário","DeFi"]}},{"frontmatter":{"suburl":"sistema-de-staking/","title":"Como criar um sistema de Staking de Recompensas","tags":["Intermediário","Avançado","DeFi"]}},{"frontmatter":{"suburl":"sistema-de-preco-chainlink-oracle/","title":"Como criar um sistema de preços Oracle","tags":["Intermediário","Avançado","DeFi"]}},{"frontmatter":{"suburl":"exemplos-de-uso-do-uniswap-v3/","title":"Exemplos de uso do Uniswap V3","tags":["Intermediário","Avançado","DeFi"]}},{"frontmatter":{"suburl":"fornecimento-unilateral-com-uniswap-v2/","title":"Fornecimento unilateral ideal com Uniswap V2","tags":["Intermediário","Avançado","DeFi"]}},{"frontmatter":{"suburl":"adicionar-e-remover-liquidez-com-uniswap-v2/","title":"Como adicionar e remover liquidez com Uniswap V2","tags":["Intermediário","Avançado","DeFi"]}},{"frontmatter":{"suburl":"swap-com-uniswap-v2/","title":"Como realizar Swap com Uniswap V2","tags":["Intermediário","DeFi"]}},{"frontmatter":{"suburl":"testes-com-echidna/","title":"Como realizar testes com Echidna","tags":["Intermediário"]}},{"frontmatter":{"suburl":"ignorar-verificacao-do-tamanho-do-contrato/","title":"Como ignorar a verificação do tamanho do contrato","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"repeticao-de-assinatura/","title":"Repetição de assinatura","tags":["Avançado","Hacks"]}},{"frontmatter":{"suburl":"manipular-timestamp-do-bloco/","title":"Manipulando o timestamp do bloco na blockchain","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"ataque-front-running/","title":"Ataque utilizando a técnica front running","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"honeypot/","title":"Criar uma armadilha para hackers com a técnica honeypot","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"ocultar-script-malicioso/","title":"Como um contrato malicioso esconde seu script","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"phishing-com-txorigin/","title":"Phishing com tx.origin","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"negacao-de-servico/","title":"Inutilizar um contrato através da negação de serviço","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"fonte-de-aleatoriedade/","title":"Fonte de Aleatoriedade","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"chamada-de-funcao-delegatecall/","title":"Chamada de função delegatecall","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"acessando-variaveis-privadas/","title":"Acessando variáveis privadas","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"auto-destruicao/","title":"Ataques com Auto-destruição","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"estouro-de-memoria/","title":"Ataques com estouro de memória","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"ataque-de-reentrada/","title":"Ataque de reentrada, aprenda como funciona e como evitar","tags":["Intermediário","Hacks"]}},{"frontmatter":{"suburl":"bloqueio-de-tempo-timelock/","title":"Criar um contrato com bloqueio de tempo","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"contrato-para-multichamadas/","title":"Criar contrato para Multichamada de funções","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"financiamento-coletivo-crowd-fund/","title":"Criar um sistema de financiamento coletivo","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"sistema-de-leilao-ingles-holandes/","title":"Criar um sistema de leilão inglês e holandês","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"canal-de-pagamento-bidirecional/","title":"Criar um Canal de pagamento bidirecional","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"canal-de-pagamento-unidirecional/","title":"Criar um Canal de pagamento unidirecional","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"gravar-dados-no-slot/","title":"Como gravar dados em qualquer slot","tags":["Intermediário","Aplicações"]}},{"frontmatter":{"suburl":"implantar-contrato-com-proxy/","title":"Como implantar qualquer contrato com Proxy","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"trabalhando-com-proxy/","title":"Trabalhando com Proxy","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"precomputar-endereco-contrato/","title":"Pré-computar endereço do Contrato com Create2","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"token-erc721/","title":"Criando nosso primeiro Token ERC721","tags":["Intermediário","Avançado","Aplicações"]}},{"frontmatter":{"suburl":"token-erc20/","title":"Criando nosso primeiro Token ERC20","tags":["Intermediário","Avançado","Aplicações"]}},{"frontmatter":{"suburl":"aplicacao-mapeamento-iteravel/","title":"Mapeamento Iterável","tags":["Intermediário","Aplicações"]}},{"frontmatter":{"suburl":"aplicacao-arvore-merkle/","title":"Árvore de Merkle","tags":["Avançado","Aplicações"]}},{"frontmatter":{"suburl":"aplicacao-multi-assinatura/","title":"Carteira com Multi-Assinaturas","tags":["Intermediário","Avançado","Aplicações"]}},{"frontmatter":{"suburl":"aplicacao-wallet/","title":"Carteira de Tokens","tags":["Iniciante","Aplicações"]}},{"frontmatter":{"suburl":"assinaturas-e-hashing-keccak/","title":"Verificando assinatura hashing com Keccak256","tags":["Intermediário","Avançado"]}},{"frontmatter":{"suburl":"abi/","title":"O que é ABI e para que serve?","tags":["Iniciante"]}},{"frontmatter":{"suburl":"import-e-libraries/","title":"Import e Libraries, para que servem?","tags":["Iniciante","Intermediário"]}},{"frontmatter":{"suburl":"criar-contrato-simples/","title":"Criar um contrato através de outro contrato","tags":["Intermediário"]}},{"frontmatter":{"suburl":"call-fallback-delegatecall/","title":"Call, Fallback, Delegatecall e chamadas de contratos","tags":["Intermediário"]}},{"frontmatter":{"suburl":"transfer-send-call/","title":"Enviar Ether com transfer, send e call","tags":["Iniciante","Intermediário"]}},{"frontmatter":{"suburl":"visibilidade-interface-pagavel/","title":"Visibilidade, Interfaces e Funções Pagáveis","tags":["Intermediário"]}},{"frontmatter":{"suburl":"evento-construtor-heranca/","title":"Evento, Construtor e Herança","tags":["Iniciante","Intermediário"]}},{"frontmatter":{"suburl":"tratamento-de-erros/","title":"Tratamento de erros de condições e exceções","tags":["Iniciante","Intermediário"]}},{"frontmatter":{"suburl":"funcoes/","title":"Funções e Modificadores","tags":["Iniciante","Intermediário"]}},{"frontmatter":{"suburl":"armazenamento/","title":"Armazenamento de Dados","tags":["Intermediário"]}},{"frontmatter":{"suburl":"estruturas/","title":"Estruturas - Struct","tags":["Iniciante","Intermediário"]}},{"frontmatter":{"suburl":"enum/","title":"Enum - Enumeradores","tags":["Iniciante","Intermediário"]}},{"frontmatter":{"suburl":"mapping-arrays/","title":"Mapping e Arrays","tags":["Iniciante"]}},{"frontmatter":{"suburl":"if-else-for-while/","title":"If, Else, For e While","tags":["Iniciante"]}},{"frontmatter":{"suburl":"ether-wei-gas/","title":"Ether, Wei e Taxa de Gas","tags":["Iniciante"]}},{"frontmatter":{"suburl":"variaveis/","title":"Entendendo as Variáveis","tags":["Iniciante"]}},{"frontmatter":{"suburl":"primeiro-aplicativo/","title":"Meu primeiro aplicativo","tags":["Iniciante","Aplicações"]}}]},"topicsYaml":{"topics":[{"desc":"Todos os conteúdos de nível iniciante estão disponíveis aqui","title":"Iniciante","url":"iniciante/"},{"desc":"Todos os conteúdos de nível intermediário estão disponíveis aqui","title":"Intermediário","url":"intermediario/"},{"desc":"Todos os conteúdos de nível avançado estão disponíveis aqui","title":"Avançado","url":"avancado/"},{"desc":"Todos os artigos referentes a exemplos de aplicações do Solidity, estão disponíveis aqui","title":"Aplicações","url":"aplicacoes/"},{"desc":"Todos os artigos referentes a exemplos de aplicação de hacks do Solidity, estão disponíveis aqui","title":"Hacks","url":"hacks/"},{"desc":"Todos os artigos referentes a exemplos de aplicação DeFi do Solidity, estão disponíveis aqui","title":"DeFi","url":"defi/"},{"desc":"Artigos de outras linguagens de programação, exemplos de interação entre a blockchain e aplicativos externos, estão disponíveis aqui","title":"Outros Artigos","url":"artigos/"}]}},"pageContext":{"suburl":"ether-wei-gas/","postTopics":["Iniciante"],"publishedAt":"06/05/2022","prevArticle":{"title":"Entendendo as Variáveis","layout":"BlogPage","suburl":"variaveis/","author":["Matheus"],"tags":["Iniciante"],"publishedAt":"04/05/2022","modifiedAt":"20220504"},"nextArticle":{"title":"If, Else, For e While","layout":"BlogPage","suburl":"if-else-for-while/","author":["Matheus"],"tags":["Iniciante"],"publishedAt":"08/05/2022","modifiedAt":"20220508"}}},"staticQueryHashes":["119291576","2330562257","4065828390"]}